package cn.demoncat.util.lang;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 语言
 *
 * @author 延晓磊
 * @since 2024年10月17日
 */
public class LanguageUtil {

    /**
     * 语种：0中文，1英文
     */
    public static int LANG = 0;

    /**
     * 语言库
     */
    private static final Map<String, List<String>> LIBRARY = new HashMap<>();

    /**
     * 定义语言
     *
     * 注：要在 App.main 中设置，先于所有类的加载
     *
     * @param lang  语言：0中文，1英文
     */
    public static void define(int lang){
        LANG = lang;
    }

    /**
     * 获取语言
     *
     * @param text  中文
     * @return 根据 AppConstant.Lang，返回不同语言
     */
    public static String get(String text){
        if (LANG == 0) {
            return text;
        }
        return LIBRARY.get(text).get(LANG - 1);
    }

    /**
     * 设置语言
     *
     * @param texts  [中文,英文...]
     */
    public static void set(String ...texts){
        LIBRARY.put(texts[0], Arrays.asList(texts).subList(1, texts.length));
    }

    /**
     * 匹配语言
     *
     * @param texts  [中文,英文...]
     * @return 根据 AppConstant.Lang，返回不同语言
     */
    public static String match(String ...texts){
        return texts[LANG];
    }
}
